package conson.tech.manage.app.entity.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
 * InterfaceName: CouponSeckillVo
 * Description: 用户秒杀券列表
 * Author: XYF
 * Date: 2020/7/25 10:11
 * Version: 1.0
 */
@Data
public class CouponSeckillVo {

    /**
     * 秒杀配置id
     */
    @ApiModelProperty(value = "秒杀配置id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;
    /**
     * 优惠券批次名称
     */
    @ApiModelProperty(value = "优惠券批次名称")
    private String batchName;
    /**
     * 优惠券批次id
     */
    @ApiModelProperty(value = "优惠券批次id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long batchId;
    /**
     * 使用限制说明
     */
    @ApiModelProperty(value = "使用限制说明")
    private String usedDes;
    /**
     * 优惠券类型名称
     */
    @ApiModelProperty(value = "优惠券类型名称")
    private String batchTypeName;
    /**
     * 使用范围类型 0-全平台，1-场景 2-商-商品品类 4-商品spuId
     */
    @ApiModelProperty(value = "使用范围类型 0-全平台，1-场景 2-商-商品品类 4-商品spuId")
    private Integer rangeType;
    /**
     * 优惠券金额
     */
    @ApiModelProperty(value = "优惠券金额")
    private BigDecimal batchMoney;
    /**
     * 优惠券限额
     */
    @ApiModelProperty(value = "优惠券限额")
    private BigDecimal limitMoney;
    /**
     * 有效期开始时间
     */
    @ApiModelProperty(value = "有效期开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime startTime;
    /**
     * 有效期结束时间
     */
    @ApiModelProperty(value = "有效期结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime endTime;
    /**
     * 状态（正常，已领取，已抢光，待开启）
     */
    @ApiModelProperty(value = "状态（正常，已领取，已抢光，待开启）")
    private String state;

    /**
     * 每人可领取数量
     */
    @ApiModelProperty(value = "每人可领取数量")
    private Integer limitNum;

    /**
     * 开抢时间
     */
    @ApiModelProperty(value = "开抢时间")
    @JsonFormat(pattern = "HH:mm:ss")
    private LocalTime beginTime;

}
